package lx;

public class demo1 {
    /*
       制造假数据：
           获取姓氏：https://hanyu.baidu.com/shici/detail?pid=0b2f26d4c0ddb3ee693fdb1137ee1b0d&from=kg0
           获取男生名字：http://www.haoming8.cn/baobao/10881.html
           获取女生名字：http://www.haoming8.cn/baobao/7641.html
      */
    public static void main(String[] args) {
        //  (.)表示把重复内容的第一个字符看做一组
//  \\1表示第一字符再次出现
//  + 至少一次
//  $1 表示把正则表达式中第一组的内容，再拿出来用
        String str = "我我我我我要学编编程";
        String regex1 = "(.)\\1+";
        System.out.println(str.replaceAll(regex1, "$1"));

        //  要求1:把字符串中三个姓名之间的字母替换为vs
        String s = "小诗诗dqwefqwfqwfwq12312小丹丹dqwefqwfqwfwq12312小惠惠";
        //dqwefqwfqwfwq12312 \\w表示匹配任何单词字符，包括下划线，等价于[a-zA-Z0-9_],我们除了不要下划线都要
        //出现的次数大于等于1次 所以我们要用+表示 1次或者多次重复
        String regex2 = "[\\w&&[^_]]+";
        //替换
        //细节:
        //方法在底层跟之前一样也会创建文本解析器的对象
        //然后从头开始去读取字符串中的内容，只要有满足的，就用第二个参数去替换
        System.out.println(s.replaceAll(regex2, "vs"));
        //  要求2:把字符串中的三个姓名切割出来


    }
}
